#ifndef _FRIENDDEF_
#define _FRIENDDEF_
#include "SimpleRefection.h"
#include "MgrBase.h"

struct  FriendDef:public ReflectionBase
{
	DECL_REFLECTION(FriendDef,"../../config/FriendDef.xml");
	int32 m_iID;
	std::string m_sDisplayName;
	bool m_bIsActive;
	uint32 m_nMaxSendGiftCount;
	uint32 m_nMaxTakeGiftCount;
	uint32 m_nMaxDelFriendCount;
	uint32 m_nMaxSendApplyCount;

 
	rewrite virtual void OnArchieveReaded(){};
	
};
typedef DefMangerTpl<FriendDef> __FriendDefManager;
class FriendDefManager:public __FriendDefManager
{
public:
	static FriendDefManager& Instance()
	{
		static FriendDefManager _instance;
		return _instance;
	}
	rewrite virtual void OnArchieveReaded();
	const FriendDef * GetFriendDef() const { return m_pFriendDef;}
private:
	FriendDefManager():m_pFriendDef(NULL)
	{
	}
	const FriendDef * m_pFriendDef;
};

struct  FriendLvlCountDef:public ReflectionBase
{
	DECL_REFLECTION(FriendLvlCountDef,"../../config/FriendLvlCountDef.xml");
	int32 m_iID;
	uint32 m_iFriendCount;
	rewrite virtual void OnArchieveReaded(){};
};
typedef DefMangerTpl<FriendLvlCountDef> FriendLvlCountDefManager;
#endif